package com.markerhub.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.markerhub.common.dto.CourseDTO;
import com.markerhub.common.vo.CourseVO;
import com.markerhub.common.vo.StudentVO;
import com.markerhub.entity.Course;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;


public interface CourseService extends IService<Course> {
    IPage getCourses(String activityName, String courseName, String status, String teacherName, int currentPage, int pageSize);
    public IPage<CourseVO> getTeacherCourses(Long teacherId, Integer currentPage, Integer pageSize,
                                             String courseName, String status, String activityName);
    public boolean saveOrUpdateCourse(CourseDTO courseDTO, Long teacherId);
    public boolean deleteTeacherCourse(Long courseId, Long teacherId);
    public boolean updateCourseStatus(Long courseId, String status, Long teacherId);
    public List<StudentVO> getClassStudents(Long classId, Long teacherId);


    int countTeacherCourses(Long teacherId);

    int countTeacherActiveCourses(Long teacherId);


}
